package com.beamfield.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class DeviceInboundExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DeviceInboundExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andProject_idIsNull() {
            addCriterion("project_id is null");
            return (Criteria) this;
        }

        public Criteria andProject_idIsNotNull() {
            addCriterion("project_id is not null");
            return (Criteria) this;
        }

        public Criteria andProject_idEqualTo(Long value) {
            addCriterion("project_id =", value, "project_id");
            return (Criteria) this;
        }
        public Criteria andUse_UnitEqualTo(String value) {
            addCriterion("use_unit =", value, "use_unit");
            return (Criteria) this;
        }

        public Criteria andProject_idNotEqualTo(Long value) {
            addCriterion("project_id <>", value, "project_id");
            return (Criteria) this;
        }

        public Criteria andProject_idGreaterThan(Long value) {
            addCriterion("project_id >", value, "project_id");
            return (Criteria) this;
        }

        public Criteria andProject_idGreaterThanOrEqualTo(Long value) {
            addCriterion("project_id >=", value, "project_id");
            return (Criteria) this;
        }

        public Criteria andProject_idLessThan(Long value) {
            addCriterion("project_id <", value, "project_id");
            return (Criteria) this;
        }

        public Criteria andProject_idLessThanOrEqualTo(Long value) {
            addCriterion("project_id <=", value, "project_id");
            return (Criteria) this;
        }

        public Criteria andProject_idIn(List<Long> values) {
            addCriterion("project_id in", values, "project_id");
            return (Criteria) this;
        }

        public Criteria andProject_idNotIn(List<Long> values) {
            addCriterion("project_id not in", values, "project_id");
            return (Criteria) this;
        }

        public Criteria andProject_idBetween(Long value1, Long value2) {
            addCriterion("project_id between", value1, value2, "project_id");
            return (Criteria) this;
        }

        public Criteria andProject_idNotBetween(Long value1, Long value2) {
            addCriterion("project_id not between", value1, value2, "project_id");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idIsNull() {
            addCriterion("device_purchase_id is null");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idIsNotNull() {
            addCriterion("device_purchase_id is not null");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idEqualTo(Long value) {
            addCriterion("device_purchase_id =", value, "device_purchase_id");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idNotEqualTo(Long value) {
            addCriterion("device_purchase_id <>", value, "device_purchase_id");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idGreaterThan(Long value) {
            addCriterion("device_purchase_id >", value, "device_purchase_id");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idGreaterThanOrEqualTo(Long value) {
            addCriterion("device_purchase_id >=", value, "device_purchase_id");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idLessThan(Long value) {
            addCriterion("device_purchase_id <", value, "device_purchase_id");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idLessThanOrEqualTo(Long value) {
            addCriterion("device_purchase_id <=", value, "device_purchase_id");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idIn(List<Long> values) {
            addCriterion("device_purchase_id in", values, "device_purchase_id");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idNotIn(List<Long> values) {
            addCriterion("device_purchase_id not in", values, "device_purchase_id");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idBetween(Long value1, Long value2) {
            addCriterion("device_purchase_id between", value1, value2, "device_purchase_id");
            return (Criteria) this;
        }

        public Criteria andDevice_purchase_idNotBetween(Long value1, Long value2) {
            addCriterion("device_purchase_id not between", value1, value2, "device_purchase_id");
            return (Criteria) this;
        }

        public Criteria andDevice_idIsNull() {
            addCriterion("device_id is null");
            return (Criteria) this;
        }

        public Criteria andDevice_idIsNotNull() {
            addCriterion("device_id is not null");
            return (Criteria) this;
        }

        public Criteria andDevice_idEqualTo(Long value) {
            addCriterion("device_id =", value, "device_id");
            return (Criteria) this;
        }

        public Criteria andDevice_idNotEqualTo(Long value) {
            addCriterion("device_id <>", value, "device_id");
            return (Criteria) this;
        }

        public Criteria andDevice_idGreaterThan(Long value) {
            addCriterion("device_id >", value, "device_id");
            return (Criteria) this;
        }

        public Criteria andDevice_idGreaterThanOrEqualTo(Long value) {
            addCriterion("device_id >=", value, "device_id");
            return (Criteria) this;
        }

        public Criteria andDevice_idLessThan(Long value) {
            addCriterion("device_id <", value, "device_id");
            return (Criteria) this;
        }

        public Criteria andDevice_idLessThanOrEqualTo(Long value) {
            addCriterion("device_id <=", value, "device_id");
            return (Criteria) this;
        }

        public Criteria andDevice_idIn(List<Long> values) {
            addCriterion("device_id in", values, "device_id");
            return (Criteria) this;
        }

        public Criteria andDevice_idNotIn(List<Long> values) {
            addCriterion("device_id not in", values, "device_id");
            return (Criteria) this;
        }

        public Criteria andDevice_idBetween(Long value1, Long value2) {
            addCriterion("device_id between", value1, value2, "device_id");
            return (Criteria) this;
        }

        public Criteria andDevice_idNotBetween(Long value1, Long value2) {
            addCriterion("device_id not between", value1, value2, "device_id");
            return (Criteria) this;
        }

        public Criteria andManager_numIsNull() {
            addCriterion("manager_num is null");
            return (Criteria) this;
        }

        public Criteria andManager_numIsNotNull() {
            addCriterion("manager_num is not null");
            return (Criteria) this;
        }

        public Criteria andManager_numEqualTo(String value) {
            addCriterion("manager_num =", value, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManager_numNotEqualTo(String value) {
            addCriterion("manager_num <>", value, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManager_numGreaterThan(String value) {
            addCriterion("manager_num >", value, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManager_numGreaterThanOrEqualTo(String value) {
            addCriterion("manager_num >=", value, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManager_numLessThan(String value) {
            addCriterion("manager_num <", value, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManager_numLessThanOrEqualTo(String value) {
            addCriterion("manager_num <=", value, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManager_numLike(String value) {
            addCriterion("manager_num like", value, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManager_numNotLike(String value) {
            addCriterion("manager_num not like", value, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManager_numIn(List<String> values) {
            addCriterion("manager_num in", values, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManager_numNotIn(List<String> values) {
            addCriterion("manager_num not in", values, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManager_numBetween(String value1, String value2) {
            addCriterion("manager_num between", value1, value2, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManager_numNotBetween(String value1, String value2) {
            addCriterion("manager_num not between", value1, value2, "manager_num");
            return (Criteria) this;
        }

        public Criteria andManufacturerIsNull() {
            addCriterion("manufacturer is null");
            return (Criteria) this;
        }

        public Criteria andManufacturerIsNotNull() {
            addCriterion("manufacturer is not null");
            return (Criteria) this;
        }

        public Criteria andManufacturerEqualTo(String value) {
            addCriterion("manufacturer =", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotEqualTo(String value) {
            addCriterion("manufacturer <>", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerGreaterThan(String value) {
            addCriterion("manufacturer >", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerGreaterThanOrEqualTo(String value) {
            addCriterion("manufacturer >=", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerLessThan(String value) {
            addCriterion("manufacturer <", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerLessThanOrEqualTo(String value) {
            addCriterion("manufacturer <=", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerLike(String value) {
            addCriterion("manufacturer like", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotLike(String value) {
            addCriterion("manufacturer not like", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerIn(List<String> values) {
            addCriterion("manufacturer in", values, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotIn(List<String> values) {
            addCriterion("manufacturer not in", values, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerBetween(String value1, String value2) {
            addCriterion("manufacturer between", value1, value2, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotBetween(String value1, String value2) {
            addCriterion("manufacturer not between", value1, value2, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andCheck_departIsNull() {
            addCriterion("check_depart is null");
            return (Criteria) this;
        }

        public Criteria andCheck_departIsNotNull() {
            addCriterion("check_depart is not null");
            return (Criteria) this;
        }

        public Criteria andCheck_departEqualTo(String value) {
            addCriterion("check_depart =", value, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_departNotEqualTo(String value) {
            addCriterion("check_depart <>", value, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_departGreaterThan(String value) {
            addCriterion("check_depart >", value, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_departGreaterThanOrEqualTo(String value) {
            addCriterion("check_depart >=", value, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_departLessThan(String value) {
            addCriterion("check_depart <", value, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_departLessThanOrEqualTo(String value) {
            addCriterion("check_depart <=", value, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_departLike(String value) {
            addCriterion("check_depart like", value, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_departNotLike(String value) {
            addCriterion("check_depart not like", value, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_departIn(List<String> values) {
            addCriterion("check_depart in", values, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_departNotIn(List<String> values) {
            addCriterion("check_depart not in", values, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_departBetween(String value1, String value2) {
            addCriterion("check_depart between", value1, value2, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_departNotBetween(String value1, String value2) {
            addCriterion("check_depart not between", value1, value2, "check_depart");
            return (Criteria) this;
        }

        public Criteria andCheck_dateIsNull() {
            addCriterion("check_date is null");
            return (Criteria) this;
        }

        public Criteria andCheck_dateIsNotNull() {
            addCriterion("check_date is not null");
            return (Criteria) this;
        }

        public Criteria andCheck_dateEqualTo(Date value) {
            addCriterionForJDBCDate("check_date =", value, "check_date");
            return (Criteria) this;
        }

        public Criteria andCheck_dateNotEqualTo(Date value) {
            addCriterionForJDBCDate("check_date <>", value, "check_date");
            return (Criteria) this;
        }

        public Criteria andCheck_dateGreaterThan(Date value) {
            addCriterionForJDBCDate("check_date >", value, "check_date");
            return (Criteria) this;
        }

        public Criteria andCheck_dateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("check_date >=", value, "check_date");
            return (Criteria) this;
        }

        public Criteria andCheck_dateLessThan(Date value) {
            addCriterionForJDBCDate("check_date <", value, "check_date");
            return (Criteria) this;
        }

        public Criteria andCheck_dateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("check_date <=", value, "check_date");
            return (Criteria) this;
        }

        public Criteria andCheck_dateIn(List<Date> values) {
            addCriterionForJDBCDate("check_date in", values, "check_date");
            return (Criteria) this;
        }

        public Criteria andCheck_dateNotIn(List<Date> values) {
            addCriterionForJDBCDate("check_date not in", values, "check_date");
            return (Criteria) this;
        }

        public Criteria andCheck_dateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("check_date between", value1, value2, "check_date");
            return (Criteria) this;
        }

        public Criteria andCheck_dateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("check_date not between", value1, value2, "check_date");
            return (Criteria) this;
        }

        public Criteria andSerial_numberIsNull() {
            addCriterion("serial_number is null");
            return (Criteria) this;
        }

        public Criteria andSerial_numberIsNotNull() {
            addCriterion("serial_number is not null");
            return (Criteria) this;
        }

        public Criteria andSerial_numberEqualTo(String value) {
            addCriterion("serial_number =", value, "serial_number");
            return (Criteria) this;
        }

        public Criteria andSerial_numberNotEqualTo(String value) {
            addCriterion("serial_number <>", value, "serial_number");
            return (Criteria) this;
        }

        public Criteria andSerial_numberGreaterThan(String value) {
            addCriterion("serial_number >", value, "serial_number");
            return (Criteria) this;
        }

        public Criteria andSerial_numberGreaterThanOrEqualTo(String value) {
            addCriterion("serial_number >=", value, "serial_number");
            return (Criteria) this;
        }

        public Criteria andSerial_numberLessThan(String value) {
            addCriterion("serial_number <", value, "serial_number");
            return (Criteria) this;
        }

        public Criteria andSerial_numberLessThanOrEqualTo(String value) {
            addCriterion("serial_number <=", value, "serial_number");
            return (Criteria) this;
        }

        public Criteria andSerial_numberLike(String value) {
            addCriterion("serial_number like", value, "serial_number");
            return (Criteria) this;
        }

        public Criteria andSerial_numberNotLike(String value) {
            addCriterion("serial_number not like", value, "serial_number");
            return (Criteria) this;
        }

        public Criteria andSerial_numberIn(List<String> values) {
            addCriterion("serial_number in", values, "serial_number");
            return (Criteria) this;
        }

        public Criteria andSerial_numberNotIn(List<String> values) {
            addCriterion("serial_number not in", values, "serial_number");
            return (Criteria) this;
        }

        public Criteria andSerial_numberBetween(String value1, String value2) {
            addCriterion("serial_number between", value1, value2, "serial_number");
            return (Criteria) this;
        }

        public Criteria andSerial_numberNotBetween(String value1, String value2) {
            addCriterion("serial_number not between", value1, value2, "serial_number");
            return (Criteria) this;
        }

        public Criteria andRentalIsNull() {
            addCriterion("rental is null");
            return (Criteria) this;
        }

        public Criteria andRentalIsNotNull() {
            addCriterion("rental is not null");
            return (Criteria) this;
        }

        public Criteria andRentalEqualTo(String value) {
            addCriterion("rental =", value, "rental");
            return (Criteria) this;
        }

        public Criteria andRentalNotEqualTo(String value) {
            addCriterion("rental <>", value, "rental");
            return (Criteria) this;
        }

        public Criteria andRentalGreaterThan(String value) {
            addCriterion("rental >", value, "rental");
            return (Criteria) this;
        }

        public Criteria andRentalGreaterThanOrEqualTo(String value) {
            addCriterion("rental >=", value, "rental");
            return (Criteria) this;
        }

        public Criteria andRentalLessThan(String value) {
            addCriterion("rental <", value, "rental");
            return (Criteria) this;
        }

        public Criteria andRentalLessThanOrEqualTo(String value) {
            addCriterion("rental <=", value, "rental");
            return (Criteria) this;
        }

        public Criteria andRentalLike(String value) {
            addCriterion("rental like", value, "rental");
            return (Criteria) this;
        }

        public Criteria andRentalNotLike(String value) {
            addCriterion("rental not like", value, "rental");
            return (Criteria) this;
        }

        public Criteria andRentalIn(List<String> values) {
            addCriterion("rental in", values, "rental");
            return (Criteria) this;
        }

        public Criteria andRentalNotIn(List<String> values) {
            addCriterion("rental not in", values, "rental");
            return (Criteria) this;
        }

        public Criteria andRentalBetween(String value1, String value2) {
            addCriterion("rental between", value1, value2, "rental");
            return (Criteria) this;
        }

        public Criteria andRentalNotBetween(String value1, String value2) {
            addCriterion("rental not between", value1, value2, "rental");
            return (Criteria) this;
        }

        public Criteria andPrincipalIsNull() {
            addCriterion("principal is null");
            return (Criteria) this;
        }

        public Criteria andPrincipalIsNotNull() {
            addCriterion("principal is not null");
            return (Criteria) this;
        }

        public Criteria andPrincipalEqualTo(String value) {
            addCriterion("principal =", value, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipalNotEqualTo(String value) {
            addCriterion("principal <>", value, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipalGreaterThan(String value) {
            addCriterion("principal >", value, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipalGreaterThanOrEqualTo(String value) {
            addCriterion("principal >=", value, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipalLessThan(String value) {
            addCriterion("principal <", value, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipalLessThanOrEqualTo(String value) {
            addCriterion("principal <=", value, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipalLike(String value) {
            addCriterion("principal like", value, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipalNotLike(String value) {
            addCriterion("principal not like", value, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipalIn(List<String> values) {
            addCriterion("principal in", values, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipalNotIn(List<String> values) {
            addCriterion("principal not in", values, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipalBetween(String value1, String value2) {
            addCriterion("principal between", value1, value2, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipalNotBetween(String value1, String value2) {
            addCriterion("principal not between", value1, value2, "principal");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneIsNull() {
            addCriterion("principal_phone is null");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneIsNotNull() {
            addCriterion("principal_phone is not null");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneEqualTo(String value) {
            addCriterion("principal_phone =", value, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneNotEqualTo(String value) {
            addCriterion("principal_phone <>", value, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneGreaterThan(String value) {
            addCriterion("principal_phone >", value, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneGreaterThanOrEqualTo(String value) {
            addCriterion("principal_phone >=", value, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneLessThan(String value) {
            addCriterion("principal_phone <", value, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneLessThanOrEqualTo(String value) {
            addCriterion("principal_phone <=", value, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneLike(String value) {
            addCriterion("principal_phone like", value, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneNotLike(String value) {
            addCriterion("principal_phone not like", value, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneIn(List<String> values) {
            addCriterion("principal_phone in", values, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneNotIn(List<String> values) {
            addCriterion("principal_phone not in", values, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneBetween(String value1, String value2) {
            addCriterion("principal_phone between", value1, value2, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andPrincipal_phoneNotBetween(String value1, String value2) {
            addCriterion("principal_phone not between", value1, value2, "principal_phone");
            return (Criteria) this;
        }

        public Criteria andContractIsNull() {
            addCriterion("contract is null");
            return (Criteria) this;
        }

        public Criteria andContractIsNotNull() {
            addCriterion("contract is not null");
            return (Criteria) this;
        }

        public Criteria andContractEqualTo(String value) {
            addCriterion("contract =", value, "contract");
            return (Criteria) this;
        }

        public Criteria andContractNotEqualTo(String value) {
            addCriterion("contract <>", value, "contract");
            return (Criteria) this;
        }

        public Criteria andContractGreaterThan(String value) {
            addCriterion("contract >", value, "contract");
            return (Criteria) this;
        }

        public Criteria andContractGreaterThanOrEqualTo(String value) {
            addCriterion("contract >=", value, "contract");
            return (Criteria) this;
        }

        public Criteria andContractLessThan(String value) {
            addCriterion("contract <", value, "contract");
            return (Criteria) this;
        }

        public Criteria andContractLessThanOrEqualTo(String value) {
            addCriterion("contract <=", value, "contract");
            return (Criteria) this;
        }

        public Criteria andContractLike(String value) {
            addCriterion("contract like", value, "contract");
            return (Criteria) this;
        }

        public Criteria andContractNotLike(String value) {
            addCriterion("contract not like", value, "contract");
            return (Criteria) this;
        }

        public Criteria andContractIn(List<String> values) {
            addCriterion("contract in", values, "contract");
            return (Criteria) this;
        }

        public Criteria andContractNotIn(List<String> values) {
            addCriterion("contract not in", values, "contract");
            return (Criteria) this;
        }

        public Criteria andContractBetween(String value1, String value2) {
            addCriterion("contract between", value1, value2, "contract");
            return (Criteria) this;
        }

        public Criteria andContractNotBetween(String value1, String value2) {
            addCriterion("contract not between", value1, value2, "contract");
            return (Criteria) this;
        }

        public Criteria andEntry_timeIsNull() {
            addCriterion("entry_time is null");
            return (Criteria) this;
        }

        public Criteria andEntry_timeIsNotNull() {
            addCriterion("entry_time is not null");
            return (Criteria) this;
        }

        public Criteria andEntry_timeEqualTo(Date value) {
            addCriterionForJDBCDate("entry_time =", value, "entry_time");
            return (Criteria) this;
        }

        public Criteria andEntry_timeNotEqualTo(Date value) {
            addCriterionForJDBCDate("entry_time <>", value, "entry_time");
            return (Criteria) this;
        }

        public Criteria andEntry_timeGreaterThan(Date value) {
            addCriterionForJDBCDate("entry_time >", value, "entry_time");
            return (Criteria) this;
        }

        public Criteria andEntry_timeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("entry_time >=", value, "entry_time");
            return (Criteria) this;
        }

        public Criteria andEntry_timeLessThan(Date value) {
            addCriterionForJDBCDate("entry_time <", value, "entry_time");
            return (Criteria) this;
        }

        public Criteria andEntry_timeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("entry_time <=", value, "entry_time");
            return (Criteria) this;
        }

        public Criteria andEntry_timeIn(List<Date> values) {
            addCriterionForJDBCDate("entry_time in", values, "entry_time");
            return (Criteria) this;
        }

        public Criteria andEntry_timeNotIn(List<Date> values) {
            addCriterionForJDBCDate("entry_time not in", values, "entry_time");
            return (Criteria) this;
        }

        public Criteria andEntry_timeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("entry_time between", value1, value2, "entry_time");
            return (Criteria) this;
        }

        public Criteria andEntry_timeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("entry_time not between", value1, value2, "entry_time");
            return (Criteria) this;
        }

        public Criteria andQrcodeIsNull() {
            addCriterion("qrcode is null");
            return (Criteria) this;
        }

        public Criteria andQrcodeIsNotNull() {
            addCriterion("qrcode is not null");
            return (Criteria) this;
        }

        public Criteria andQrcodeEqualTo(String value) {
            addCriterion("qrcode =", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeNotEqualTo(String value) {
            addCriterion("qrcode <>", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeGreaterThan(String value) {
            addCriterion("qrcode >", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeGreaterThanOrEqualTo(String value) {
            addCriterion("qrcode >=", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeLessThan(String value) {
            addCriterion("qrcode <", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeLessThanOrEqualTo(String value) {
            addCriterion("qrcode <=", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeLike(String value) {
            addCriterion("qrcode like", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeNotLike(String value) {
            addCriterion("qrcode not like", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeIn(List<String> values) {
            addCriterion("qrcode in", values, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeNotIn(List<String> values) {
            addCriterion("qrcode not in", values, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeBetween(String value1, String value2) {
            addCriterion("qrcode between", value1, value2, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeNotBetween(String value1, String value2) {
            addCriterion("qrcode not between", value1, value2, "qrcode");
            return (Criteria) this;
        }

        public Criteria andUser_guideIsNull() {
            addCriterion("user_guide is null");
            return (Criteria) this;
        }

        public Criteria andUser_guideIsNotNull() {
            addCriterion("user_guide is not null");
            return (Criteria) this;
        }

        public Criteria andUser_guideEqualTo(Long value) {
            addCriterion("user_guide =", value, "user_guide");
            return (Criteria) this;
        }

        public Criteria andUser_guideNotEqualTo(Long value) {
            addCriterion("user_guide <>", value, "user_guide");
            return (Criteria) this;
        }

        public Criteria andUser_guideGreaterThan(Long value) {
            addCriterion("user_guide >", value, "user_guide");
            return (Criteria) this;
        }

        public Criteria andUser_guideGreaterThanOrEqualTo(Long value) {
            addCriterion("user_guide >=", value, "user_guide");
            return (Criteria) this;
        }

        public Criteria andUser_guideLessThan(Long value) {
            addCriterion("user_guide <", value, "user_guide");
            return (Criteria) this;
        }

        public Criteria andUser_guideLessThanOrEqualTo(Long value) {
            addCriterion("user_guide <=", value, "user_guide");
            return (Criteria) this;
        }

        public Criteria andUser_guideIn(List<Long> values) {
            addCriterion("user_guide in", values, "user_guide");
            return (Criteria) this;
        }

        public Criteria andUser_guideNotIn(List<Long> values) {
            addCriterion("user_guide not in", values, "user_guide");
            return (Criteria) this;
        }

        public Criteria andUser_guideBetween(Long value1, Long value2) {
            addCriterion("user_guide between", value1, value2, "user_guide");
            return (Criteria) this;
        }

        public Criteria andUser_guideNotBetween(Long value1, Long value2) {
            addCriterion("user_guide not between", value1, value2, "user_guide");
            return (Criteria) this;
        }

        public Criteria andCheck_orderIsNull() {
            addCriterion("check_order is null");
            return (Criteria) this;
        }

        public Criteria andCheck_orderIsNotNull() {
            addCriterion("check_order is not null");
            return (Criteria) this;
        }

        public Criteria andCheck_orderEqualTo(Long value) {
            addCriterion("check_order =", value, "check_order");
            return (Criteria) this;
        }

        public Criteria andCheck_orderNotEqualTo(Long value) {
            addCriterion("check_order <>", value, "check_order");
            return (Criteria) this;
        }

        public Criteria andCheck_orderGreaterThan(Long value) {
            addCriterion("check_order >", value, "check_order");
            return (Criteria) this;
        }

        public Criteria andCheck_orderGreaterThanOrEqualTo(Long value) {
            addCriterion("check_order >=", value, "check_order");
            return (Criteria) this;
        }

        public Criteria andCheck_orderLessThan(Long value) {
            addCriterion("check_order <", value, "check_order");
            return (Criteria) this;
        }

        public Criteria andCheck_orderLessThanOrEqualTo(Long value) {
            addCriterion("check_order <=", value, "check_order");
            return (Criteria) this;
        }

        public Criteria andCheck_orderIn(List<Long> values) {
            addCriterion("check_order in", values, "check_order");
            return (Criteria) this;
        }

        public Criteria andCheck_orderNotIn(List<Long> values) {
            addCriterion("check_order not in", values, "check_order");
            return (Criteria) this;
        }

        public Criteria andCheck_orderBetween(Long value1, Long value2) {
            addCriterion("check_order between", value1, value2, "check_order");
            return (Criteria) this;
        }

        public Criteria andCheck_orderNotBetween(Long value1, Long value2) {
            addCriterion("check_order not between", value1, value2, "check_order");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNull() {
            addCriterion("operator is null");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNotNull() {
            addCriterion("operator is not null");
            return (Criteria) this;
        }

        public Criteria andOperatorEqualTo(Long value) {
            addCriterion("operator =", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotEqualTo(Long value) {
            addCriterion("operator <>", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThan(Long value) {
            addCriterion("operator >", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThanOrEqualTo(Long value) {
            addCriterion("operator >=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThan(Long value) {
            addCriterion("operator <", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThanOrEqualTo(Long value) {
            addCriterion("operator <=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorIn(List<Long> values) {
            addCriterion("operator in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotIn(List<Long> values) {
            addCriterion("operator not in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorBetween(Long value1, Long value2) {
            addCriterion("operator between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotBetween(Long value1, Long value2) {
            addCriterion("operator not between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andAddtimeIsNull() {
            addCriterion("addtime is null");
            return (Criteria) this;
        }

        public Criteria andAddtimeIsNotNull() {
            addCriterion("addtime is not null");
            return (Criteria) this;
        }

        public Criteria andAddtimeEqualTo(Date value) {
            addCriterion("addtime =", value, "addtime");
            return (Criteria) this;
        }

        public Criteria andAddtimeNotEqualTo(Date value) {
            addCriterion("addtime <>", value, "addtime");
            return (Criteria) this;
        }

        public Criteria andAddtimeGreaterThan(Date value) {
            addCriterion("addtime >", value, "addtime");
            return (Criteria) this;
        }

        public Criteria andAddtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("addtime >=", value, "addtime");
            return (Criteria) this;
        }

        public Criteria andAddtimeLessThan(Date value) {
            addCriterion("addtime <", value, "addtime");
            return (Criteria) this;
        }

        public Criteria andAddtimeLessThanOrEqualTo(Date value) {
            addCriterion("addtime <=", value, "addtime");
            return (Criteria) this;
        }

        public Criteria andAddtimeIn(List<Date> values) {
            addCriterion("addtime in", values, "addtime");
            return (Criteria) this;
        }

        public Criteria andAddtimeNotIn(List<Date> values) {
            addCriterion("addtime not in", values, "addtime");
            return (Criteria) this;
        }

        public Criteria andAddtimeBetween(Date value1, Date value2) {
            addCriterion("addtime between", value1, value2, "addtime");
            return (Criteria) this;
        }

        public Criteria andAddtimeNotBetween(Date value1, Date value2) {
            addCriterion("addtime not between", value1, value2, "addtime");
            return (Criteria) this;
        }

        public Criteria andUpdaterIsNull() {
            addCriterion("updater is null");
            return (Criteria) this;
        }

        public Criteria andUpdaterIsNotNull() {
            addCriterion("updater is not null");
            return (Criteria) this;
        }

        public Criteria andUpdaterEqualTo(Long value) {
            addCriterion("updater =", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterNotEqualTo(Long value) {
            addCriterion("updater <>", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterGreaterThan(Long value) {
            addCriterion("updater >", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterGreaterThanOrEqualTo(Long value) {
            addCriterion("updater >=", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterLessThan(Long value) {
            addCriterion("updater <", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterLessThanOrEqualTo(Long value) {
            addCriterion("updater <=", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterIn(List<Long> values) {
            addCriterion("updater in", values, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterNotIn(List<Long> values) {
            addCriterion("updater not in", values, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterBetween(Long value1, Long value2) {
            addCriterion("updater between", value1, value2, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterNotBetween(Long value1, Long value2) {
            addCriterion("updater not between", value1, value2, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNull() {
            addCriterion("updatetime is null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNotNull() {
            addCriterion("updatetime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeEqualTo(Date value) {
            addCriterionForJDBCDate("updatetime =", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("updatetime <>", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThan(Date value) {
            addCriterionForJDBCDate("updatetime >", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("updatetime >=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThan(Date value) {
            addCriterionForJDBCDate("updatetime <", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("updatetime <=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIn(List<Date> values) {
            addCriterionForJDBCDate("updatetime in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("updatetime not in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("updatetime between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("updatetime not between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andBeam_idIsNull() {
            addCriterion("beam_id is null");
            return (Criteria) this;
        }

        public Criteria andBeam_idIsNotNull() {
            addCriterion("beam_id is not null");
            return (Criteria) this;
        }

        public Criteria andBeam_idEqualTo(Long value) {
            addCriterion("beam_id =", value, "beam_id");
            return (Criteria) this;
        }

        public Criteria andBeam_idNotEqualTo(Long value) {
            addCriterion("beam_id <>", value, "beam_id");
            return (Criteria) this;
        }

        public Criteria andBeam_idGreaterThan(Long value) {
            addCriterion("beam_id >", value, "beam_id");
            return (Criteria) this;
        }

        public Criteria andBeam_idGreaterThanOrEqualTo(Long value) {
            addCriterion("beam_id >=", value, "beam_id");
            return (Criteria) this;
        }

        public Criteria andBeam_idLessThan(Long value) {
            addCriterion("beam_id <", value, "beam_id");
            return (Criteria) this;
        }

        public Criteria andBeam_idLessThanOrEqualTo(Long value) {
            addCriterion("beam_id <=", value, "beam_id");
            return (Criteria) this;
        }

        public Criteria andBeam_idIn(List<Long> values) {
            addCriterion("beam_id in", values, "beam_id");
            return (Criteria) this;
        }

        public Criteria andBeam_idNotIn(List<Long> values) {
            addCriterion("beam_id not in", values, "beam_id");
            return (Criteria) this;
        }

        public Criteria andBeam_idBetween(Long value1, Long value2) {
            addCriterion("beam_id between", value1, value2, "beam_id");
            return (Criteria) this;
        }

        public Criteria andBeam_idNotBetween(Long value1, Long value2) {
            addCriterion("beam_id not between", value1, value2, "beam_id");
            return (Criteria) this;
        }

        public Criteria andDebugIsNull() {
            addCriterion("debug is null");
            return (Criteria) this;
        }

        public Criteria andDebugIsNotNull() {
            addCriterion("debug is not null");
            return (Criteria) this;
        }

        public Criteria andDebugEqualTo(Integer value) {
            addCriterion("debug =", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugNotEqualTo(Integer value) {
            addCriterion("debug <>", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugGreaterThan(Integer value) {
            addCriterion("debug >", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugGreaterThanOrEqualTo(Integer value) {
            addCriterion("debug >=", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugLessThan(Integer value) {
            addCriterion("debug <", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugLessThanOrEqualTo(Integer value) {
            addCriterion("debug <=", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugIn(List<Integer> values) {
            addCriterion("debug in", values, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugNotIn(List<Integer> values) {
            addCriterion("debug not in", values, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugBetween(Integer value1, Integer value2) {
            addCriterion("debug between", value1, value2, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugNotBetween(Integer value1, Integer value2) {
            addCriterion("debug not between", value1, value2, "debug");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}